/**
 * @author wn
 * @date 2023/03/09 16:24:08
 * @description: Tags 标签 session 持久化
 */

import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useTags = defineStore(
	'tags',
	() => {
		/**
		 * 1 必须有 首页 不可删除
		 * 2 其他 根据 menu 点击动态添加 可以删除
		 *
		 * 3 path
		 * 4 title
		 * 5 id
		 */
		const tags = ref([
			{
				path: '/dashboard/analysis',
				title: '首页',
				// id: '1',
			},
		])

		// 添加 存在不添
		const addTags = tag => {
			const oldTag = tags.value.find(v => v.path === tag.path)
			oldTag || tags.value.push(tag)
		}

		// 删除
		const deleteTags = tag => tags.value.splice(tags.value.indexOf(tag), 1)

		// 返回
		return { tags, addTags, deleteTags }
	},
	{
		persist: {
			key: 'tags',
			storage: window.sessionStorage,
		},
	}
)
